Casa_UtilsLibrary "Casa_Utils"
A collection of convenience and helper functions for indicator and library authors on TradingView
formatNumber(num)
My version of format number that doesn't have so many decimal places...
Parameters:
num (float) : The number to be formatted
Returns: The formatted number
getDateString(timestamp)
Convenience function returns timestamp in yyyy/MM/dd format.
Parameters:
timestamp (int) : The timestamp to stringify
Returns: The date string
getDateTimeString(timestamp)
Convenience function returns timestamp in yyyy/MM/dd hh:mm format.
Parameters:
timestamp (int) : The timestamp to stringify
Returns: The date string
getInsideBarCount()
Gets the number of inside bars for the current chart. Can also be passed to request.security to get the same for different timeframes.
Returns: The # of inside bars on the chart right now.
getLabelStyleFromString(styleString, acceptGivenIfNoMatch)
Tradingview doesn't give you a nice way to put the label styles into a dropdown for configuration settings. So, I specify them in the following format: "Center", "Left", "Lower Left", "Lower Right", "Right", "Up", "Upper Left", "Upper Right", "Plain Text", "No Labels". This function takes care of converting those custom strings back to the ones expected by tradingview scripts.
Parameters:
styleString (string)
acceptGivenIfNoMatch (bool) : If no match for styleString is found and this is true, the function will return styleString, otherwise it will return tradingview's preferred default
Returns: The string expected by tradingview functions
getTime(hourNumber, minuteNumber)
Given an hour number and minute number, adds them together and returns the sum. To be used by getLevelBetweenTimes when fetching specific price levels during a time window on the day.
Parameters:
hourNumber (int) : The hour number
minuteNumber (int) : The minute number
Returns: The sum of all the minutes
getHighAndLowBetweenTimes(start, end)
Given a start and end time, returns the high or low price during that time window.
Parameters:
start (int) : The timestamp to start with (# of seconds)
end (int) : The timestamp to end with (# of seconds)
Returns: The high or low value
getPremarketHighsAndLows()
Returns an expression that can be used by request.security to fetch the premarket high & low levels in a tuple.
Returns: (tuple)
getAfterHoursHighsAndLows()
Returns an expression that can be used by request.security to fetch the after hours high & low levels in a tuple.
Returns: (tuple)
getOvernightHighsAndLows()
Returns an expression that can be used by request.security to fetch the overnight high & low levels in a tuple.
Returns: (tuple)
getNonRthHighsAndLows()
Returns an expression that can be used by request.security to fetch the high & low levels for premarket, after hours and overnight in a tuple.
Returns: (tuple)
getLineStyleFromString(styleString, acceptGivenIfNoMatch)
Tradingview doesn't give you a nice way to put the line styles into a dropdown for configuration settings. So, I specify them in the following format: "Solid", "Dashed", "Dotted", "None/Hidden". This function takes care of converting those custom strings back to the ones expected by tradingview scripts.
Parameters:
styleString (string) : Plain english (or TV Standard) version of the style string
acceptGivenIfNoMatch (bool) : If no match for styleString is found and this is true, the function will return styleString, otherwise it will return tradingview's preferred default
Returns: The string expected by tradingview functions
getPercentFromPrice(price)
Get the % the current price is away from the given price.
Parameters:
price (float)
Returns: The % the current price is away from the given price.
getPositionFromString(position)
Tradingview doesn't give you a nice way to put the positions into a dropdown for configuration settings. So, I specify them in the following format: "Top Left", "Top Center", "Top Right", "Middle Left", "Middle Center", "Middle Right", "Bottom Left", "Bottom Center", "Bottom Right". This function takes care of converting those custom strings back to the ones expected by tradingview scripts.
Parameters:
position (string) : Plain english position string
Returns: The string expected by tradingview functions
getRsiAvgsExpression(rsiLength)
Call request.security with this as the expression to get the average up/down values that can be used with getRsiPrice (below) to calculate the price level where the supplied RSI level would be reached.
Parameters:
rsiLength (simple int) : The length of the RSI requested.
Returns: A tuple containing the avgUp and avgDown values required by the getRsiPrice function.
getRsiPrice(rsiLevel, rsiLength, avgUp, avgDown)
use the values returned by getRsiAvgsExpression() to calculate the price level when the provided RSI level would be reached.
Parameters:
rsiLevel (float) : The RSI level to find price at.
rsiLength (int) : The length of the RSI to calculate.
avgUp (float) : The average move up of RSI.
avgDown (float) : The average move down of RSI.
Returns: The price level where the provided RSI level would be met.
getSizeFromString(sizeString)
Tradingview doesn't give you a nice way to put the sizes into a dropdown for configuration settings. So, I specify them in the following format: "Auto", "Huge", "Large", "Normal", "Small", "Tiny". This function takes care of converting those custom strings back to the ones expected by tradingview scripts.
Parameters:
sizeString (string) : Plain english size string
Returns: The string expected by tradingview functions
getTimeframeOfChart()
Get the timeframe of the current chart for display
Returns: The string of the current chart timeframe
getTimeNowPlusOffset(candleOffset)
Helper function for drawings that use xloc.bar_time to help you know the time offset if you want to place the end of the drawing out into the future. This determines the time-size of one candle and then returns a time n candleOffsets into the future.
Parameters:
candleOffset (int) : The number of items to find singular/plural for.
Returns: The future time
getVolumeBetweenTimes(start, end)
Given a start and end time, returns the sum of all volume across bars during that time window.
Parameters:
start (int) : The timestamp to start with (# of seconds)
end (int) : The timestamp to end with (# of seconds)
Returns: The volume
isToday()
Returns true if the current bar occurs on today's date.
Returns: True if current bar is today
padLabelString(labelText, labelStyle)
Pads a label string so that it appears properly in or not in a label. When label.style_none is used, this will make sure it is left-aligned instead of center-aligned. When any other type is used, it adds a single space to the right so there is padding against the right end of the label.
Parameters:
labelText (string) : The string to be padded
labelStyle (string) : The style of the label being padded for.
Returns: The padded string
plural(num, singular, plural)
Helps format a string for plural/singular. By default, if you only provide num, it will just return "s" for plural and nothing for singular (eg. plural(numberOfCats)). But you can optionally specify the full singular/plural words for more complicated nomenclature (eg. plural(numberOfBenches, 'bench', 'benches'))
Parameters:
num (int) : The number of items to find singular/plural for.
singular (string) : The string to return if num is singular. Defaults to an empty string.
plural (string) : The string to return if num is plural. Defaults to 's' so you can just add 's' to the end of a word.
Returns: The singular or plural provided strings depending on the num provided.
timeframeInSeconds(timeframe)
Get the # of seconds in a given timeframe. Tradingview's timeframe.in_seconds() expects a simple string, and we often need to use series string, so this is an alternative to get you the value you need.
Parameters:
timeframe (string)
Returns: The number of secondsof that timeframe
timeframeOfChart()
Convert a timeframe string to a consistent standard.
Returns: The standard format for the string, or the unchanged value if it is unknown.
timeframeToString(timeframe)
Convert a timeframe string to a consistent standard.
Parameters:
timeframe (string)
Returns: (string) The standard format for the string, or the unchanged value if it is unknown.
stringToTimeframe(strTimeframe)
Convert an english-friendly timeframe string to a value that can be used by request.security. Specifically, this corrects hour strings (eg. 4h) to their numeric "minute" equivalent (eg. 240)
Parameters:
strTimeframe (string)
Returns: (string) The standard format for the string, or the unchanged value if it is unknown.
getPriceLabel(price, labelOffset, labelStyle, labelSize, labelColor, textColor)
Defines a label for the end of a price level line.
Parameters:
price (float) : The price level to render the label at.
labelOffset (int) : The number of candles to place the label to the right of price.
labelStyle (string) : A plain english string as defined in getLabelStyleFromString.
labelSize (string) : The size of the label.
labelColor (color) : The color of the label.
textColor (color) : The color of the label text (defaults to #ffffff)
Returns: The label that was created.
setPriceLabel(label, labelName, price, labelOffset, labelTemplate, labelStyle, labelColor, textColor)
Updates the label position & text based on price changes.
Parameters:
label (label) : The label to update.
labelName (string) : The name of the price level to be placed on the label.
price (float) : The price level to render the label at.
labelOffset (int) : The number of candles to place the label to the right of price.
labelTemplate (string) : The str.format template to use for the label. Defaults to: '{0}: {1} {2}{3,number,#.##}%' which means '{price}: {labelName} {+/-}{percentFromPrice}%'
labelStyle (string)
labelColor (color)
textColor (color)
getPriceLabelLine(price, labelOffset, labelColor, lineWidth)
Defines a line that will stretch from the plot line to the label.
Parameters:
price (float) : The price level to render the label at.
labelOffset (int) : The number of candles to place the label to the right of price.
labelColor (color)
lineWidth (int) : The width of the line. Defaults to 1.
setPriceLabelLine(line, price, labelOffset, lastTime, lineColor)
Updates the price label line based on price changes.
Parameters:
line (line) : The line to update.
price (float) : The price level to render the label at.
labelOffset (int) : The number of candles to place the label to the right of price.
lastTime (int) : The last time that the line should stretch from. Defaults to time.
lineColor (color)
在腳本中搜尋"Up down"
JMA Quantum Edge: Adaptive Precision Trading System JMA Quantum Edge: Adaptive Precision Trading System - Enhanced Visuals & Risk Management
Get ready to experience a groundbreaking trading strategy that adapts in real-time to market conditions! This powerful, open-source script combines advanced technical analysis with state-of-the-art risk management tools, designed to give you the edge you need in today's dynamic markets.
What It Does:
Adaptive JMA Indicator:
Utilizes a custom Jurik Moving Average (JMA) that adjusts its sensitivity based on market volatility, ensuring you get precise signals even in the most fluctuating environments.
Dynamic Risk Management:
Features built-in support for partial exits (scaling out) to secure profits, along with an optional Kelly Criterion-based position sizing that tailors your exposure based on historical performance metrics.
Robust Error Handling:
Incorporates market condition filters—like minimum volume and maximum allowed gap percentage—to ensure trades are only executed under favorable conditions.
Vivid Visual Enhancements:
Enjoy an animated background that reflects market momentum, dynamic pivot markers, and clearly drawn trend channels. Plus, interactive tables provide real-time performance analytics and detailed error metrics.
Fully Customizable:
With a comprehensive set of inputs, you can easily tailor the strategy to your personal trading style and market preferences. Adjust everything from JMA parameters to refresh intervals for tables and labels!
How to Use It:
Add the Script:
Copy and paste the script into the Pine Script Editor on TradingView and click “Add to Chart.”
Configure Your Settings:
Customize your risk management (capital, commission, position sizing, partial exits, etc.) and tweak the JMA settings to match your preferred trading style. Use the extensive input panel to adjust visuals, alerts, and more.
Backtest & Optimize:
Run the strategy in the Strategy Tester to analyze its historical performance. Monitor real-time analytics and error metrics via the interactive tables, and fine-tune your parameters for optimal performance.
Go Live with Confidence:
Once you're satisfied with the backtest results, use the generated signals for live trading, and let the system help you stay ahead in fast-paced markets!
How to use the imputs:
This cutting-edge strategy is designed to adapt to changing market conditions and offers you complete control over your trading parameters. Here’s a breakdown of what each group of inputs does and how you should use them:
Risk Management & Trade Settings
Recalculate on Every Tick:
What it does: When enabled, the strategy recalculates on every price update.
Recommendation: Leave it true for fast charts.
Initial Capital:
What it does: Sets your starting capital for backtesting, which influences position sizing and performance metrics.
Recommendation: Start with $10,000 (or adjust according to your trading capital).
Commission (%):
What it does: Simulates the cost per trade.
Recommendation: Use a realistic rate (e.g., 0.04%).
Position Size & Quantity Type:
What they do: Define how large each trade will be. Choose between a fixed unit amount or a percentage of equity.
Recommendation: For beginners, the default fixed value is a good start. Experiment later with percentage-based sizing if needed.
Order Comment:
What it does: Adds a label to your orders for easier tracking.
Allow Reverse Orders:
What it does: If disabled, the strategy will close opposing positions before entering a new trade, reducing conflicts.
Enable Dynamic Position Sizing:
What it does: Adjusts trade size based on current volatility.
Recommendation: Beginners may start with this disabled until they understand basic sizing.
Partial Exit Inputs:
What they do:
Enable Partial Exits: When turned on, you can scale out of your position to lock in profits.
Partial Exit Profit (%): The profit percentage that triggers a partial exit.
Partial Exit Percentage: The percentage of your current position to exit. Recommendation: Use defaults (e.g., 5% profit, 50% exit) to secure profits gradually.
Kelly Criterion Option:
What it does: When enabled, adjusts your position sizing using historical performance (win rate and profit factor).
Recommendation: Beginners might leave this disabled until comfortable with backtest performance metrics.
Market Condition Filters:
What they do:
Minimum Volume: Ensures trades occur only when there’s sufficient market activity.
Maximum Gap (%): Prevents trading if there’s an unusually large gap between the previous close and current open. Recommendation: Defaults work well for most markets. If trades seem erratic, consider tightening these limits.
JMA Settings
Price Source:
What it does: The input series for the JMA calculation, typically set to the closing price.
JMA Length:
What it does: Controls the smoothing period of the JMA. Lower values are more sensitive; higher values smooth out the noise. Recommendation: Start with 21.
JMA Phase & Power:
What they do: Adjust how responsive the JMA is. Phase controls timing; power adjusts the intensity. Recommendation: Default settings (63 phase and 3 power) are a balanced starting point.
Visual Settings & Style
Show JMA Line, Pivot Lines, and Pivot Labels:
What they do: Toggle visual elements on your chart for easier signal identification.
Pivot History Count:
What it does: Limits how many historical pivot markers are displayed.
Color Settings (Up/Down Neon Colors):
What they do: Set the visual cues for buy and sell signals.
Pivot Marker & Line Style:
What they do: Choose the style and thickness of your pivot markers and lines.
Show Stats Panel:
What it does: Displays real-time performance and error metrics.
Dynamic Background & Visual Enhancements
Animate Background:
What it does: Changes the background color based on market momentum.
Show Trend Channels & Volume Zones:
What they do: Draw trend channels and highlight areas of high volatility/volume.
Show Data-Rich Labels:
What it does: Displays key metrics like volume, error percentage, and momentum on the chart.
High Volatility Threshold:
What it does: Determines the multiplier for when the chart background should change due to high volatility.
Multi-Timeframe Settings
Higher Timeframe:
What it does: Uses a higher timeframe’s JMA for trend confirmation. Recommendation: Use Daily ('D') or Weekly ('W') for broader trend analysis.
Show HTF Trend Zone & Opacity:
What they do: Display a visual zone from the higher timeframe to help confirm trends.
6. Trailing Stop Settings
Trailing Stop ATR Factor & Offset Multiplier:
What they do: Calculate trailing stops based on the Average True Range (ATR), adjusting stop distances dynamically. Recommendation: Default settings are a good balance but can be fine-tuned based on asset volatility.
Alerts & Notifications
Alerts on Pivot Formation & JMA Crossover:
What they do: Notify you when key events occur.
Dynamic Power Threshold:
What it does: Sets the sensitivity for dynamic alerts.
8. Static Stop Loss / Take Profit
Static Stop Loss (%) & Take Profit (%):
What they do: Allow you to set fixed stop loss or take profit levels. Recommendation: Leave them at 0 to disable if you prefer dynamic risk management, or set them if you have strict risk/reward preferences.
Advanced Settings
ATR Length:
What it does: Determines the period for ATR calculation, impacting trailing stop sensitivity. Recommendation: Start with 14.
Optimization Feedback & Enhanced Error Analysis
Error Metric Length & Error Threshold (%):
What they do: Calculate error metrics (like average error, skewness, and kurtosis) to help you fine-tune the JMA. Recommendation: Use the defaults and adjust if the error metrics seem off during backtesting.
UI - User-Driven Tweaking & Table Customization
Parameter Tweaker Panel, Debug/Performance Table Settings:
What they do: Provide interactive tables that display real-time performance, error metrics, and allow you to monitor strategy parameters.
Refresh Frequency Options (Table & Label Refresh Intervals):
What they do: Set how often the tables and labels update.
Recommendation: Start with an interval of 1 bar; increase it if your chart is too busy.
Important for Beginners:
Default Settings:
All default values have been chosen for balanced performance across different markets. If you ever experience unexpected behavior, start by resetting the inputs to their defaults.
Step-by-Step Adjustments:
Experiment by changing one setting at a time while observing how the strategy’s signals and performance metrics change. This will help you understand the impact of each parameter.
Resetting to Defaults:
If things seem off or you’re not getting the expected results, you can always reset the indicator. Either reload the script or use the “Reset Inputs” option (if available) to revert to the default settings.
Jump in, experiment, and enjoy the power of adaptive precision trading. This strategy is built to grow with your skills—have fun exploring and refining your trading edge!
Happy trading!
Industry Indices ComparisonA dynamic industry sector performance comparison indicator that helps traders and investors track relative strength across different market sectors in real-time.
- Compares up to 5 industry sector ETFs against a benchmark index (default: SPY)
- Displays key metrics including:
* Performance % over selected timeframe
* Relative performance vs benchmark
* Trend direction (▲ up, ▼ down, − neutral)
* Volume in millions (M) of shares traded
- Configurable timeframes: 1D, 1W, 1M, and 3M comparisons
- Color-coded performance indicators (green for outperformance, red for underperformance)
- Customizable table position and text size for optimal chart placement
The indicator helps identify:
1. Sector rotation patterns through relative performance
2. Leading and lagging sectors vs the broader market
3. Volume trends across different sectors
For traders, if you are considering two equally good setups, then choosing the setup belonging to a currently strong sector could be beneficial.
ROC with closed based coloring & info table [DB]Rate of Change (ROC) Basics
The Rate of Change (ROC) is a momentum oscillator measuring the percentage price change between the current close and the close from N periods ago.
Calculated as: ROC = * 100
Traders use ROC to:
Identify overbought/oversold conditions
Spot momentum shifts
Confirm trend strength
My improvements:
Visual Clarity
Color-Coded Direction: ROC line changes color (green/red/yellow) based on intra-candle momentum shifts.
Direction Table: Instant view of the last change in ROC with the candle close (▲ UP / ▼ DOWN / ▶ FLAT).
Cells for current value and previous change between timeframe bar period.
What you can benefit with this over the regular ROC:
Faster Analysis: The visual cues make direction and strength instantly obvious and it allows for faster decision making while preserving more mental capital.
Median Deviation Bands | QuantumResearchIntroducing QuantumResearch’s Median Deviation Bands Indicator
The Median Deviation Bands indicator is an advanced volatility-based tool designed to help traders identify price trends, market reversals, and potential trading opportunities.
By using a percentile-based median baseline combined with standard deviation bands, this indicator provides a dynamic framework for analyzing price movements and assessing market volatility.
How It Works
Baseline Calculation:
The median price over a user-defined period (default: 50) is calculated using the 50th percentile of price data.
This serves as the central reference point for trend analysis.
Trend Identification:
Bullish Trend: Occurs when the price crosses above the baseline.
Bearish Trend: Occurs when the price crosses below the baseline.
Deviation Bands:
The indicator plots three sets of upper and lower bands, representing 1x, 2x, and 3x standard deviations from the median.
These bands act as dynamic support and resistance zones, helping traders identify overbought and oversold conditions.
Visual Representation
The Median Deviation Bands indicator offers a clear, customizable visual layout:
Color-Coded Baseline:
Green (Bullish): Price is above the median.
Red (Bearish): Price is below the median.
Deviation Bands:
First Band (Light Fill): Represents 1 standard deviation from the baseline.
Second Band (Medium Fill): Represents 2 standard deviations, highlighting stronger trends.
Third Band (Dark Fill): Represents 3 standard deviations, showing extreme price conditions.
Trend Markers:
Green Up Arrows: Indicate the start of a bullish trend when price crosses above the baseline.
Red Down Arrows: Indicate the start of a bearish trend when price crosses below the baseline.
Customization & Parameters
The Median Deviation Bands indicator includes multiple user-configurable settings to adapt to different trading strategies:
Baseline Length: Default set to 50, determines the lookback period for median calculation.
Source Price: Selectable input price for calculations (default: close).
Band Visibility: Traders can toggle individual deviation bands on or off to match their preferences.
Trend Markers: Option to enable or disable up/down trend arrows.
Color Modes: Choose from eight color schemes to customize the indicator’s appearance.
Trading Applications
This indicator is highly versatile and can be applied to multiple trading strategies, including:
Volatility-Based Trading: Price movement within and outside the bands helps traders gauge volatility and market conditions.
Trend Following: The baseline and deviation bands help confirm ongoing trends.
Mean Reversion Strategies: Traders can look for price reactions at extreme bands (±3 standard deviations).
Final Note
QuantumResearch’s Median Deviation Bands indicator provides a unique approach to market analysis by integrating percentile-based median price levels with standard deviation-based volatility bands.
This combination helps traders understand price behavior in relation to historical volatility, making it a valuable tool for both trend-following and mean-reversion strategies.
As always, backtesting and customization are recommended to optimize performance across different market conditions.
Volume Delta with Bollinger Bands [EMA]TL;DR
This indicator displays a “Volume Delta” candle chart based on a lower timeframe approximation of up vs. down volume. Bollinger Bands (using an EMA and a configurable standard deviation multiplier) highlight when Volume Delta exceeds typical volatility thresholds. Green bars will darken when Volume Delta is above the upper Bollinger band, and red bars will darken when Volume Delta is below the lower Bollinger band. You can optionally include wicks in the Bollinger calculations. Note : TradingView uses tick-based volume data, so these values may not precisely match true market orders.
What Is Volume Delta ?
• Volume Delta is a metric that identifies buying vs. selling activity in a market by distinguishing between orders transacting at the ask (buy volume) and orders transacting at the bid (sell volume).
• A positive Volume Delta indicates more buy volume during a bar, while a negative Volume Delta indicates more sell volume.
How TradingView Calculates Volume Delta
• TradingView relies on tick data to approximate up/down volume. This may not perfectly capture true order-flow distribution, particularly on higher timeframes or illiquid symbols.
• While it can provide useful insights into volume flow, keep in mind the underlying data’s limitations.
Key Features of This Indicator
1. Automatic or Custom Lower Timeframe Data
• The script can automatically select a lower timeframe for Volume Delta, or you can manually specify one in the settings.
2. Bollinger Bands on Volume Delta
• Uses an EMA of the Volume Delta (or a wick-based average) and calculates a standard deviation.
• The upper and lower bands highlight when activity deviates from typical volatility.
3. Configurable Wick Inclusion
• Decide whether to use only the “close” (lastVolume) of the Volume Delta bar or the average of its wicks ((maxVolume + minVolume) / 2) for Bollinger calculations.
4. Dynamic Bar Colors
• Positive Volume Delta bars turn dark green if they exceed the upper Bollinger band, otherwise lighter green .
• Negative Volume Delta bars turn dark red if they fall below the lower Bollinger band, otherwise lighter red .
How To Use
1. Add the Indicator to Your Chart
• Apply it to any symbol and timeframe in TradingView.
• Configure the lower timeframe for Volume Delta if desired.
2. Adjust Bollinger Settings
• Bollinger Length defines the EMA and standard deviation period.
• Bollinger Multiplier sets how far the bands lie from the EMA.
3. Choose Whether To Use Wicks
• Toggle to use the average of high/low for a potentially more volatile reading.
• Turn it off to rely solely on the Volume Delta “close.”
4. Interpret the Signals
• Dark Green Above the Upper Band : Suggests strong buying pressure above normal.
• Lighter Green : Positive but within typical volatility bounds.
• Dark Red Below the Lower Band : Suggests strong selling pressure below normal.
• Lighter Red : Negative but within typical volatility.
Important Caveats
• TradingView Volume Data : Tick-based and aggregated data may not reflect actual order-flow precisely.
• Context Matters : Combine Volume Delta with other forms of analysis (price action, support/resistance, etc.) to form a more comprehensive strategy.
AI InfinityAI Infinity – Multidimensional Market Analysis
Overview
The AI Infinity indicator combines multiple analysis tools into a single solution. Alongside dynamic candle coloring based on MACD and Stochastic signals, it features Alligator lines, several RSI lines (including glow effects), and optionally enabled EMAs (20/50, 100, and 200). Every module is individually configurable, allowing traders to tailor the indicator to their personal style and strategy.
Important Note (Disclaimer)
This indicator is provided for educational and informational purposes only.
It does not constitute financial or investment advice and offers no guarantee of profit.
Each trader is responsible for their own trading decisions.
Past performance does not guarantee future results.
Please review the settings thoroughly and adjust them to your personal risk profile; consider supplementary analyses or professional guidance where appropriate.
Functionality & Components
1. Candle Coloring (MACD & Stochastic)
Objective: Provide an immediate visual snapshot of the market’s condition.
Details:
MACD Signal: Used to identify bullish and bearish momentum.
Stochastic: Detects overbought and oversold zones.
Color Modes: Offers both a simple (two-color) mode and a gradient mode.
2. Alligator Lines
Objective: Assist with trend analysis and determining the market’s current phase.
Details:
Dynamic SMMA Lines (Jaw, Teeth, Lips) that adjust based on volatility and market conditions.
Multiple Lengths: Each element uses a separate smoothing period (13, 8, 5).
Transparency: You can show or hide each line independently.
3. RSI Lines & Glow Effects
Objective: Display the RSI values directly on the price chart so critical levels (e.g., 20, 50, 80) remain visible at a glance.
Details:
RSI Scaling: The RSI is plotted in the chart window, eliminating the need to switch panels.
Dynamic Transparency: A pulse effect indicates when the RSI is near critical thresholds.
Glow Mode: Choose between “Direct Glow” or “Dynamic Transparency” (based on ATR distance).
Custom RSI Length: Freely adjustable (default is 14).
4. Optional EMAs (20/50, 100, 200)
Objective: Utilize moving averages for trend assessment and identifying potential support/resistance areas.
Details:
20/50 EMA: Select which one to display via a dropdown menu.
100 EMA & 200 EMA: Independently enabled.
Color Logic: Automatically green (price > EMA) or red (price < EMA). Each EMA’s up/down color is customizable.
Configuration Options
Candle Coloring:
Choose between Gradient or Simple mode.
Adjust the color scheme for bullish/bearish candles.
Transparency is dynamically based on candle body size and Stochastic state.
Alligator Lines:
Toggle each line (Jaw/Teeth/Lips) on or off.
Select individual colors for each line.
RSI Section:
RSI Length can be set as desired.
RSI lines (0, 20, 50, 80, 100) with user-defined colors and transparency (pulse effect).
Additional lines (e.g., RSI 40/60) are also available.
Glow Effects:
Switch between “Dynamic Transparency” (ATR-based) and “Direct Glow”.
Independently applied to the RSI 100 and RSI 0 lines.
EMAs (20/50, 100, 200):
Activate each one as needed.
Each EMA’s up/down color can be customized.
Example Use Cases
Trend Identification:
Enable Alligator lines to gauge general trend direction through SMMA signals.
Timing:
Watch the Candle Colors to spot potential overbought or oversold conditions.
Fine-Tuning:
Utilize the RSI lines to closely monitor important thresholds (50 as a trend barometer, 80/20 as possible reversal zones).
Filtering:
Enable a 50 EMA to quickly see if the market is trading above (bullish) or below (bearish) it.
Adaptive Trend Finder - Pulse Frequency(Basic)The Adaptive Pulse Frequency & Amplitude Trend Indicator is a Pine Script-based tool designed for lower timeframe volume analysis and trend detection. By analyzing volume dynamics and identifying significant "pulses" in market activity, this indicator provides insights into bullish and bearish trends. Here's an overview of its key features and components:
1. Lower Timeframe Volume Analysis
Custom Timeframe Input: The indicator scans lower timeframe data to approximate Up/Down volume, with an optional override to set a custom timeframe.
Volume Delta Calculation: Tracks changes in volume (deltaVolume), representing the difference between up and down volume for each bar.
2. Adaptive Pulse Detection
Rolling Percentile Threshold: Dynamically calculates a threshold based on the pulsePercentile of the absolute delta volume within a specified lookback period (pulseLookback).
Pulse Identification: Bars where the absolute delta volume exceeds the adaptive threshold are classified as "pulses," indicating significant market activity.
Bullish Pulse: Positive delta volume exceeding the threshold.
Bearish Pulse: Negative delta volume exceeding the threshold.
3. Frequency & Amplitude Analysis
Pulse Frequency: Measures the number of bullish or bearish pulses within a rolling window (freqLookback), providing insights into the activity level.
Pulse Amplitude: Computes the cumulative volume delta for bullish and bearish pulses over a defined period (ampLookback), offering a finer view of market strength:
Bullish Amplitude: Sum of positive delta volume for bullish pulses.
Bearish Amplitude: Sum of absolute delta volume for bearish pulses.
4. Trend Logic
Trend Classification:
Bullish Trend: Higher bullish pulse frequency and amplitude.
Bearish Trend: Higher bearish pulse frequency and amplitude.
Neutral Trend: Mixed or inconclusive signals.
Advanced Metrics: Combines frequency and amplitude for robust trend assessment.
5. Visualization
Dynamic Threshold: Plots the adaptive threshold for real-time pulse detection.
Trend Visualization: Colors the chart background based on the identified trend (Bullish, Bearish, Neutral).
Amplitude and Frequency Lines: Displays separate plots for:
Net Frequency (Bullish - Bearish pulses).
Net Amplitude (Bullish amplitude - Bearish amplitude).
Individual bullish and bearish amplitudes for reference.
Use Case
This indicator is ideal for traders seeking to:
Analyze market activity on lower timeframes.
Identify shifts in bullish/bearish momentum through volume dynamics.
Enhance trend-following strategies with adaptive frequency and amplitude metrics.
With its focus on precision and adaptability, the Adaptive Pulse Frequency & Amplitude Trend Indicator is a powerful tool for volume-based market analysis.
[blackcat] L2 Six Round Positioning█ OVERVIEW
The script is an indicator designed to plot the direction (up, down, no change) of several moving averages (MA) on a separate chart, without overlaying the price data. It calculates Simple Moving Averages (SMA) for 3, 5, 8, 34, 60, 120, and 250 periods and uses conditional logic to determine the color and position of the plotted columns based on whether each MA is increasing, decreasing, or unchanged.
█ LOGICAL FRAMEWORK
The script is structured into three main sections:
1 — Input Parameters: None explicitly defined, but the script uses default settings for the indicator function.
2 — Calculations: Computes Simple Moving Averages (SMA) for seven different periods.
3 — Plotting: Uses conditional logic to plot columns representing the direction of each MA, with positions and colors indicating whether the MA is increasing, decreasing, or unchanged.
The flow of data is straightforward: the script calculates the SMAs, determines their direction, sets the appropriate color, and then plots the columns.
█ CUSTOM FUNCTIONS
• No custom functions are defined in this script. All calculations and plotting are done using built-in Pine Script functions such as ta.sma for SMA calculation and plot for plotting.
█ KEY POINTS AND TECHNIQUES
• Use of ta.sma: The script effectively uses the ta.sma function to calculate Simple Moving Averages for different periods.
• Conditional Logic: The script employs conditional logic (ternary operators) to determine the color and position of the plotted columns based on the direction of each MA.
• Plotting with plot: The plot function is used extensively to display the direction of each MA with different colors and positions.
• Color Transparency: The use of color.new with transparency (e.g., color.new(color.green, 50)) allows for visually distinct colors that are not too overpowering.
█ EXTENDED KNOWLEDGE AND APPLICATIONS
• Modifications: The script could be enhanced by adding input parameters to allow users to customize the periods of the moving averages, colors, and transparency levels.
• Extensions: Similar techniques could be applied to other types of moving averages (e.g., EMA, WMA) or to other technical indicators.
• Strategy Development: This indicator could serve as a component in a larger trading strategy by providing insights into the overall trend direction across multiple timeframes.
• Related Concepts: Understanding of moving averages, conditional logic, and plotting techniques in Pine Script would be beneficial for further development and customization of this script.
Sunil's Three 3 Inside Up Down IndicatorThree candlestick Pattern Bullish Reversal- Three Inside Up => Formed by a Bullish Harami pattern followed by a confirmation candle closing above the previous candle.
Three candlestick Pattern Bearish Reversal- Three Inside Down => Formed by a Bearish Harami pattern followed by a confirmation candle closing below the previous candle.
SMA Proximity Signal with Trend TableSummary of the Script:
This Pine Script is designed to provide a variety of technical analysis signals based on Simple Moving Averages (SMAs) and market trends across different timeframes. The script combines multiple indicators, such as the SMA crossover, proximity conditions, and trend analysis, along with visual markers and support/resistance lines. Below is a detailed breakdown of the key features:
The script detects crossovers between SMA1 and SMA2 and SMA1 and SMA3, marking them with green circles exactly at the crossover price level (not on the candles).
The crossover events are identified using ta.crossover and ta.crossunder functions.
Additional circles are drawn when other SMAs are in proximity (narrow stage)
Elephant Candle Pattern:
The script identifies "Elephant Candles" based on a large candle body relative to the overall size of the candle, using the condition where the candle body is at least 80% of the total candle size and at least 1.5 times the average candle size.
These candles are marked with an elephant emoji 🐘 at the top of the candle.
Trend Analysis Across Multiple Timeframes:
The script calculates the trend for different timeframes using the SMA20 of each timeframe:
5m, 15m, 1h, 4h, and 1D
It compares the current SMA20 to its previous value to determine whether the trend is Up, Down, or Flat.
Logarithmic Regression AlternativeLogarithmic regression is typically used to model situations where growth or decay accelerates rapidly at first and then slows over time. Bitcoin is a good example.
𝑦 = 𝑎 + 𝑏 * ln(𝑥)
With this logarithmic regression (log reg) formula 𝑦 (price) is calculated with constants 𝑎 and 𝑏, where 𝑥 is the bar_index .
Instead of using the sum of log x/y values, together with the dot product of log x/y and the sum of the square of log x-values, to calculate a and b, I wanted to see if it was possible to calculate a and b differently.
In this script, the log reg is calculated with several different assumed a & b values, after which the log reg level is compared to each Swing. The log reg, where all swings on average are closest to the level, produces the final 𝑎 & 𝑏 values used to display the levels.
🔶 USAGE
The script shows the calculated logarithmic regression value from historical swings, provided there are enough swings, the price pattern fits the log reg model, and previous swings are close to the calculated Top/Bottom levels.
When the price approaches one of the calculated Top or Bottom levels, these levels could act as potential cycle Top or Bottom.
Since the logarithmic regression depends on swing values, each new value will change the calculation. A well-fitted model could not fit anymore in the future.
Swings are based on Weekly bars. A Top Swing, for example, with Swing setting 30, is the highest value in 60 weeks. Thirty bars at the left and right of the Swing will be lower than the Top Swing. This means that a confirmation is triggered 30 weeks after the Swing. The period will be automatically multiplied by 7 on the daily chart, where 30 becomes 210 bars.
Please note that the goal of this script is not to show swings rapidly; it is meant to show the potential next cycle's Top/Bottom levels.
🔹 Multiple Levels
The script includes the option to display 3 Top/Bottom levels, which uses different values for the swing calculations.
Top: 'high', 'maximum open/close' or 'close'
Bottom: 'low', 'minimum open/close' or 'close'
These levels can be adjusted up/down with a percentage.
Lastly, an "Average" is included for each set, which will only be visible when "AVG" is enabled, together with both Top and Bottom levels.
🔹 Notes
Users have to check the validity of swings; the above example only uses 1 Top Swing for its calculations, making the Top level unreliable.
Here, 1 of the Bottom Swings is pretty far from the bottom level, changing the swing settings can give a more reliable bottom level where all swings are close to that level.
Note the display was set at "Logarithmic", it can just as well be shown as "Regular"
In the example below, the price evolution does not fit the logarithmic regression model, where growth should accelerate rapidly at first and then slows over time.
Please note that this script can only be used on a daily timeframe or higher; using it at a lower timeframe will show a warning. Also, it doesn't work with bar-replay.
🔶 DETAILS
The code gathers data from historical swings. At the last bar, all swings are calculated with different a and b values. The a and b values which results in the smallest difference between all swings and Top/Bottom levels become the final a and b values.
The ranges of a and b are between -20.000 to +20.000, which means a and b will have the values -20.000, -19.999, -19.998, -19.997, -19.996, ... -> +20.000.
As you can imagine, the number of calculations is enormous. Therefore, the calculation is split into parts, first very roughly and then very fine.
The first calculations are done between -20 and +20 (-20, -19, -18, ...), resulting in, for example, 4.
The next set of calculations is performed only around the previous result, in this case between 3 (4-1) and 5 (4+1), resulting in, for example, 3.9. The next set goes even more in detail, for example, between 3.8 (3.9-0.1) and 4.0 (3.9 + 0.1), and so on.
1) -20 -> +20 , then loop with step 1 (result (example): 4 )
2) 4 - 1 -> 4 +1 , then loop with step 0.1 (result (example): 3.9 )
3) 3.9 - 0.1 -> 3.9 +0.1 , then loop with step 0.01 (result (example): 3.93 )
4) 3.93 - 0.01 -> 3.93 +0.01, then loop with step 0.001 (result (example): 3.928)
This ensures complicated calculations with less effort.
These calculations are done at the last bar, where the levels are displayed, which means you can see different results when a new swing is found.
Also, note that this indicator has been developed for a daily (or higher) timeframe chart.
🔶 SETTINGS
Three sets
High/Low
• color setting
• Swing Length settings for 'High' & 'Low'
• % adjustment for 'High' & 'Low'
• AVG: shows average (when both 'High' and 'Low' are enabled)
Max/Min (maximum open/close, minimum open/close)
• color setting
• Swing Length settings for 'Max' & 'Min'
• % adjustment for 'Max' & 'Min'
• AVG: shows average (when both 'Max' and 'Min' are enabled)
Close H/Close L (close Top/Bottom level)
• color setting
• Swing Length settings for 'Close H' & 'Close L'
• % adjustment for 'Close H' & 'Close L'
• AVG: shows average (when both 'Close H' and 'Close L' are enabled)
Show Dashboard, including Top/Bottom levels of the desired source and calculated a and b values.
Show Swings + Dot size
Quantum Transform - AynetQuantum Transform Trading Indicator: Explanation
This script is called a "Quantum Transform Trading Indicator" and aims to enhance market analysis by applying complex mathematical models. Written in Pine Script, the indicator includes the following elements:
1. General Structure
Quantum Parameters: Inspired by physical and mathematical concepts (Planck constant ℏ, wave function Ψ, time τ, etc.), it uses specific parameters.
Transformation Functions: Applies various mathematical operations to transform price data in different ways.
Signal Generation: Produces signals for long and short positions.
Visualization: Displays different price transformations and signals on the chart.
2. Core Parameters
The parameters allow users to control various transformations:
Planck Constant (ℏ): A scaling factor for wave modulation.
Wave (Ψ): Controls oscillation in price data.
Time (τ): The length of the lookback period for calculations.
Relativity (γ): Power factor in the Lorentz transformation.
Phase Shift (β): Manages phase shift in transformations.
Frequency (ω): Represents the frequency of price movements.
Dimensions (∇): Enables multi-dimensional field analysis.
3. Functions
a) Relativistic Transform
Inspired by the theory of relativity.
Calculates the Lorentz factor using the rate of price change.
Transforms price data to amplify the relativity effect.
b) Phase Transform
Calculates the phase of price data and applies wave modulation.
Creates phase and amplitude modulation based on the bar index.
c) Resonance Transform
Calculates resonance effects using natural frequency and oscillations.
Highlights periodic behaviors of price movements.
d) Field Transform
Applies multi-dimensional field calculations.
Combines strength, wave, and coherence aspects of price data.
e) Chaos Transform
Implements a chaos effect based on sensitivity analysis.
Simulates chaotic behaviors of price movements.
4. Main Calculations
Quantum Price: The average of all transformation functions.
Bands:
Upper Band: The highest level of quantum price.
Lower Band: The lowest level of quantum price.
Mid Band: The average of upper and lower bands.
Momentum: Calculates the rate of change in quantum price.
5. Signal Generation
Long Signal:
Triggered when the phase price crosses above the field price.
Momentum must be positive, and the price above the mid-band.
Short Signal:
Triggered when the phase price crosses below the field price.
Momentum must be negative, and the price below the mid-band.
Signal strength is calculated relative to the momentum moving average.
6. Visualization
Each transformation is displayed in a unique color.
Bands and Momentum: Visualize price behavior.
Signal Icons: Show buy/sell signals using up/down arrows on the chart.
7. Information Panel
A table in the top-right corner of the chart displays:
The current values of each transformation.
Signal strength (as a percentage).
The type of signal (⬆: Long, ⬇: Short).
Applications
Trend Following: Analyze trends with complex transformations.
Resonance and Chaos Analysis: Understand dynamic behaviors of price.
Signal Strategies: Create strong and reliable buy/sell signals.
If you have any additional questions or customization requests regarding this indicator, feel free to ask!
Azlan MA Silang PLUS++Overview
Azlan MA Silang PLUS++ is an advanced moving average crossover trading indicator designed for traders who want to jump back into the market when they missed their first opportunity to take a trade. It implements a sophisticated dual moving average system with customizable settings and re-entry signals, making it suitable for both trend following and swing trading strategies.
Key Features
• Dual Moving Average System with multiple MA types (EMA, SMA, WMA, LWMA)
• Customizable price sources for each moving average
• Smart re-entry system with configurable maximum re-entries
• Visual signals with background coloring and shape markers
• Comprehensive alert system for both initial and re-entry signals
• Flexible parameter customization through input options
Input Parameters
Moving Average Configuration
• MA1 Type: Choice between SMA, EMA, WMA, LWMA (default: EMA)
• MA2 Type: Choice between SMA, EMA, WMA, LWMA (default: EMA)
• MA1 Length: Minimum value 1 (default: 8)
• MA2 Length: Minimum value 1 (default: 15)
• MA1 & MA2 Shift: Offset values for moving averages
• Price Sources: Configurable for each MA (Open, High, Low, Close, HL/2, HLC/3, HLCC/4)
Re-entry System
• Enable/Disable re-entry signals
• Maximum re-entries allowed (default: 3)
Technical Implementation
Price Source Calculation
The script implements a flexible price source system through the price_source() function:
• Supports standard OHLC values
• Includes compound calculations (HL/2, HLC/3, HLCC/4)
• Defaults to close price if invalid source specified
Moving Average Types
Implements four MA calculations:
1. SMA (Simple Moving Average)
2. EMA (Exponential Moving Average)
3. WMA (Weighted Moving Average)
4. LWMA (Linear Weighted Moving Average)
Signal Generation Logic
Initial Signals
• Buy Signal: MA1 crosses above MA2 with price above both MAs
• Sell Signal: MA1 crosses below MA2 with price below both MAs
Re-entry Signals
Re-entry system activates when:
1. Price crosses under MA1 in buy mode (or over in sell mode)
2. Price returns to cross back over MA1 (or under for sells)
3. Position relative to MA2 confirms trend direction
4. Number of re-entries hasn't exceeded maximum allowed
Visual Components
• MA1: Blue line (width: 2)
• MA2: Red line (width: 2)
• Background Colors:
o Green (60% opacity): Bullish conditions
o Red (60% opacity): Bearish conditions
• Signal Markers:
o Initial Buy/Sell: Up/Down arrows with "BUY"/"SELL" labels
o Re-entry Buy/Sell: Up/Down arrows with "RE-BUY"/"RE-SELL" labels
Alert System
Generates alerts for:
• Initial buy/sell signals
• Re-entry opportunities
• Alerts include ticker and timeframe information
• Configured for once-per-bar-close frequency
Usage Tips
1. Moving Average Selection
o Shorter periods (MA1) capture faster moves
o Longer periods (MA2) identify overall trend
o EMA responds faster to price changes than SMA
2. Re-entry System
o Best used in strong trending markets
o Limit maximum re-entries based on market volatility
o Monitor price action around MA1 for potential re-entry points
3. Risk Management
o Use additional confirmation indicators
o Set appropriate stop-loss levels
o Consider market conditions when using re-entry signals
Code Structure
The script follows a modular design with distinct sections:
1. Input parameter definitions
2. Helper functions for price and MA calculations
3. Main signal generation logic
4. Visual elements and plotting
5. Alert system implementation
This organization makes the code maintainable and easy to modify for custom needs.
CBBS Suite [KFB Quant]CBBS Suite
The CBBS Suite is a specialized technical indicator that aggregates central bank balance sheet (CBBS) data from major global economies (US, EU, China, and Japan) and analyzes the data to assist with trend-following strategies. By using CBBS data as an economic signal, this tool provides insights into long and short trading opportunities based on macroeconomic changes.
Functionality :
The CBBS Suite aggregates central bank balance sheets, converting the combined data into percentage changes over multiple timeframes (30–360 days). It then calculates average scores to highlight the direction and strength of the CBBS trend, with customizable smoothing options for precision.
Signal Modes :
Users can select from three modes for optimal customization:
Standard – Displays unsmoothed trend signals.
Smoothed – Applies a smoothing function for clearer signal representation.
Combined – Shows both standard and smoothed signals for a comprehensive view
Indicator Features :
Thresholds : Customize long and short entry points based on score thresholds and percentage change limits.
Signal Smoothing : Choose from EMA, SMA, or WMA for trend smoothing, with adjustable lengths for greater flexibility.
Visuals : Background color coding for long and short zones and up/down triangles on chart bars to clearly identify long and short signals.
Limitations :
As with any indicator, CBBS Suite should be used as part of a broader trading strategy. It doesn’t predict future movements but instead reflects central bank activity trends.
This indicator is designed to add value to the TradingView community by providing unique macroeconomic insights based on central bank data trends. It’s a valuable tool for users looking to incorporate CBBS data into their technical analysis toolkit.
Disclaimer: This tool is provided for informational and educational purposes only and should not be considered as financial advice. Always conduct your own research and consult with a licensed financial advisor before making any investment decisions.
Dynamic Sentiment RSI [UAlgo]The Dynamic Sentiment RSI is a technical analysis tool that combines the classic RSI (Relative Strength Index) concept with dynamic sentiment analysis, offering traders enhanced insights into market conditions. Unlike the traditional RSI, this indicator integrates volume weighting, sentiment factors, and smoothing features to provide a more nuanced view of momentum and potential market reversals. It is designed to assist traders in detecting overbought/oversold conditions, momentum shifts, and to generate potential buy or sell signals using crossover and crossunder techniques. By dynamically adjusting based on sentiment and volume factors, this RSI offers better adaptability to varying market conditions, making it suitable for different trading styles and timeframes.
This tool is particularly helpful for traders who wish to explore not only price movement but also the underlying market sentiment, offering a more comprehensive approach to momentum analysis. The sentiment factor amplifies the RSI's sensitivity to price shifts, making it easier to detect early signals of market reversals or the continuation of a trend.
🔶 Key Features
Dynamic Sentiment Calculation: The indicator incorporates a "Sentiment Factor" that adjusts the RSI length dynamically based on a multiplier, helping traders better understand market sentiment at different time intervals.
Volume Weighting: When enabled, the RSI calculations are weighted by volume, allowing traders to give more importance to price movements with higher trading volume, which may provide more accurate signals.
Smoothing Feature: A customizable smoothing period is applied to the RSI to help filter out noise and make the signal smoother. This feature is particularly useful for traders who prefer to focus on long-term trends while minimizing false signals.
Step Size Customization: A "Step Size" input allows users to round the sentiment RSI to predefined intervals, making the results easier to interpret and act upon. This feature allows you to focus on significant sentiment changes and ignore minor fluctuations.
Crossover/Crossunder Alerts: The indicator includes crossover and crossunder signals on the zero-line, helping traders identify potential buy and sell opportunities as the smoothed RSI crosses these levels.
The indicator offers a clear visual display with multiple color-coded lines and areas:
Sentiment RSI: Plotted as an area chart, color-coded based on sentiment strength.
Raw RSI: A purple line representing the raw adjusted RSI.
Smoothed RSI: A dynamic line, color-coded aqua or orange based on its position relative to the zero line.
Buy/Sell Signals: Triangle shapes are plotted at crossovers and crossunders, providing clear entry and exit points.
🔶 Interpreting the Indicator
Sentiment RSI
-This line represents the sentiment-adjusted RSI, where the higher the value, the stronger the bullish sentiment, and the lower the value, the stronger the bearish sentiment. It is rounded to step intervals, making it easier to detect significant shifts in sentiment.
- A positive sentiment RSI (above 0) suggests bullish market conditions, while a negative sentiment RSI (below 0) suggests bearish conditions.
Smoothed RSI
The smoothed RSI helps reduce noise and shows the trend more clearly.
Crossovers of the zero line are significant:
- Crossover above zero: Indicates that bullish momentum is building, potentially signaling a buying opportunity.
- Crossunder below zero: Signals a shift towards bearish momentum, potentially indicating a sell signal.
Traders should look for these crossovers in conjunction with other signals for more accurate entry/exit points.
Raw RSI (Adjusted)
The raw adjusted RSI offers a less smoothed, more responsive version of the RSI. While it may be noisier, it provides early signals of market reversals and trends.
Crossover/Crossunder Signals
- When the smoothed RSI crosses above the zero line, a "Signal Up" triangle appears, indicating a potential buying opportunity.
- When the smoothed RSI crosses below the zero line, a "Signal Down" triangle appears, signaling a potential sell opportunity.
These signals help traders time their entries and exits by identifying momentum shifts.
Volume Weighting (Optional)
- If volume weighting is enabled, the RSI will give more weight to periods of higher trading volume, making the signals more reliable when the market is highly active.
Strong Up/Down Levels (40/-40)
- These dotted lines represent extreme sentiment levels. When the sentiment RSI reaches 40 or -40, the market may be nearing an overbought or oversold condition, respectively. This could be a signal for traders to prepare for potential reversals or shifts in momentum.
By combining the various components of this indicator, traders can gain a comprehensive view of market sentiment and price action, helping them make more informed trading decisions. The combination of sentiment factors, volume weighting, and smoothing makes this indicator highly flexible and suitable for a variety of trading strategies.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.
LiquidityFlow Dominance+Alerts (btc.d, T3, Stables)LiquidityFlow Dominance+Alerts: Overview & Usage Guide
Overview
The LiquidityFlow Dominance+Alerts indicator provides a dynamic view of liquidity flow across Bitcoin, Altcoins, and Stablecoins, helping track liquidity shifts and identify market sentiment. By integrating moving averages, custom alerts, and thresholds for extreme outliers, this indicator helps to anticipate bullish and bearish shifts in liquidity and alert market tops and bottoms.
Key features include:
1. Liquidity Flow Monitoring : Track liquidity flow across Bitcoin (BTC), Altcoins (TOTAL3), and Stablecoins (USDT, USDC, DAI).
2. Custom Alerts : Set alerts for key liquidity shifts and extreme conditions in Stablecoin dominance, both with static and moving average (MA)-based calculations.
3. Moving Averages : Use Simple, Exponential, or Weighted Moving Averages to smooth out market data for more reliable signals.
4. Outlier Detection : Identify potential tops and bottoms using thresholds for Stablecoin dominance, with alerts for extreme movements.
Functionality
Data Inputs and Key Metrics
- Symbols Monitored:
- Bitcoin Dominance (BTC.D)
- Altcoin Market Cap (TOTAL3)
- Stablecoins (USDT.D, USDC.D, DAI.D)
- Liquidity Flow Conditions:
- Track percentage changes in dominance across sectors to detect liquidity flow into Bitcoin, Altcoins, or Stablecoins.
- Custom Metrics:
- Liquidity Flow Index: BTC Dominance minus Stablecoin Dominance.
- Liquidity Flow Ratio: BTC Dominance divided by the combined dominance of Stablecoins and Altcoins.
Moving Average Integration
- Select from SMA, EMA, or WMA to apply moving averages to the dominance metrics. Moving averages help smooth out short-term volatility and provide more consistent signals.
- Moving averages are applied to each sector (BTC, Altcoins, and Stablecoins) and compared to their previous period values to determine shifts in liquidity.
Alerts and Thresholds
- % Change Lookback Period: Adjust the lookback period to align with the timeframe of your chart. Shorter timeframes may require a lower lookback period, while higher timeframes may benefit from longer periods.
- Stables Bull/Bear % for Alerts: Set a threshold for when Stablecoin dominance becomes a bullish or bearish signal relative to BTC and Altcoins. A higher threshold may be used in volatile markets to filter out noise.
- Extreme Outliers Detection: Use the **Stables Up/Down Extreme Threshold** to identify potential market tops or bottoms when Stablecoin dominance deviates significantly from historical trends. The **Extreme Lookback Period** controls the time window for detecting these anomalies.
How to Use the Indicator
Adjusting the % Change Lookback Period
- The `% Change Lookback Period` should be adjusted based on your chart’s timeframe. For example, a shorter period (e.g., 7) works well for intraday charts, while longer periods (e.g., 14) might be more suitable for daily or weekly charts.
Setting Thresholds for Alerts
- Stables Bull/Bear % for Alerts: Adjust this setting to define when Stablecoin dominance triggers bullish or bearish alerts. A value like 1% could be a good starting point for most market conditions but can be fine-tuned based on volatility.
- Extreme Lookback Period: Define the lookback period for detecting extreme moves in Stablecoin dominance. This will help identify major tops and bottoms in the market. For shorter-term trades, consider using a shorter extreme lookback (e.g., 7-10 periods).
Alerts for Liquidity Shifts
- The indicator supports alerts for key liquidity shifts, which are useful for staying ahead of market movements. Alerts can be set to notify you when liquidity moves into:
- Bitcoin: Indicating a potential bullish trend for Bitcoin.
- Altcoins: Signaling altcoins are bullish.
- Stablecoins: Suggesting a risk-off environment or market correction.
Extreme Alerts for Stables
- Extreme Up/Down Alerts: These are triggered when Stablecoin dominance crosses extreme thresholds. For example, if Stablecoin dominance rises more than 14% over a set period, it could signal a market top, while a significant drop could indicate a market bottom.
Moving Average Calculations
- In addition to static percentage changes, moving averages can be applied to smooth out dominance values. The type and length of the moving average can be customized:
- SMA (Simple Moving Average): Best for smoothing out volatility in a linear way.
- EMA (Exponential Moving Average): More responsive to recent data, making it useful in faster markets.
- WMA (Weighted Moving Average): Emphasizes more recent data, but less reactive than the EMA.
Additional Usage Tips:
- Background Colors: The indicator visually highlights the dominant liquidity flow:
- Orange: Liquidity is shifting toward Bitcoin.
- Aqua: Liquidity is flowing into Altcoins.
- Red: Liquidity is moving into Stablecoins.
Kaiser Window MAKaiser Window Moving Average Indicator
The Kaiser Window Moving Average is a technical indicator that implements the Kaiser window function in the context of a moving average. This indicator serves as an example of applying the Kaiser window and the modified Bessel function of the first kind in technical analysis, providing an open-source implementation of these functions in the TradingView Pine Script ecosystem.
Key Components
Kaiser Window Implementation
This indicator incorporates the Kaiser window, a parameterized window function with certain frequency response characteristics. By making this implementation available in Pine Script, it allows for exploration and experimentation with the Kaiser window in the context of financial time series analysis.
Modified Bessel Function of the First Kind
The indicator includes an implementation of the modified Bessel function of the first kind, which is integral to the Kaiser window calculation. This mathematical function is now accessible within TradingView, potentially useful for other custom indicators or studies.
Customizable Alpha Parameter
The indicator features an adjustable alpha parameter, which directly influences the shape of the Kaiser window. This parameter allows for experimentation with the indicator's behavior:
Lower alpha values: The indicator's behavior approaches that of a Simple Moving Average (SMA)
Moderate alpha values: The behavior becomes more similar to a Weighted Moving Average (WMA)
Higher alpha values: Increases the weight of more recent data points
In signal processing terms, the alpha parameter affects the trade-off between main-lobe width and side lobe level in the frequency domain.
Centered and Non-Centered Modes
The indicator offers two operational modes:
Non-Centered (Real-time) Mode: Uses half of the Kaiser window, starting from the peak. This mode operates similarly to traditional moving averages, suitable for real-time analysis.
Centered Mode: Utilizes the full Kaiser window, resulting in a phase-correct filter. This mode introduces a delay equal to half the window size, with the plot automatically offset to align with the correct time points.
Visualization Options
The indicator includes several visualization features to aid in analysis:
Gradient Coloring: Offers three gradient options:
• Three-color gradient: Includes a neutral color
• Two-color gradient: Traditional up/down color scheme
• Solid color: For a uniform appearance
Glow Effect: An optional visual enhancement for the moving average line.
Background Fill: An option to fill the area between the moving average and the price.
Use Cases
The Kaiser Window Moving Average can be applied similarly to other moving averages. Its primary value lies in providing an example implementation of the Kaiser window and modified Bessel function in TradingView. It serves as a starting point for traders and analysts interested in exploring these mathematical concepts in the context of technical analysis.
Conclusion
The Kaiser Window Moving Average indicator demonstrates the application of the Kaiser window function in a moving average calculation. By providing open-source implementations of the Kaiser window and the modified Bessel function of the first kind, this indicator contributes to the expansion of available mathematical tools in the TradingView Pine Script environment, potentially facilitating further experimentation and development in technical analysis.
Inverse Fisher Oscillator [BigBeluga]The Inverse Fisher Oscillator is a powerful tool for identifying market trends and potential reversal points by applying the Inverse Fisher Transform to normalized price data. This indicator plots multiple smoothed oscillators, each color-coded to signify their relation to dynamic volatility bands. Additionally, the Butterworth filter is incorporated to further refine trend signals. The Inverse Fisher Oscillator offers traders a visually appealing and insightful approach to trend analysis and market direction detection.
🔵 KEY FEATURES
● Inverse Fisher Oscillator Visualization
Multiple Oscillators : The indicator calculates and plots six different Inverse Fisher Oscillators, each smoothed at increasing levels to provide a layered view of price momentum.
Color-Coded Signals : The oscillator lines are color-coded based on their relation to the volatility bands—green for bullish momentum, red for bearish momentum, and yellow for neutral movements.
● Butterworth Filter Integration
Filtering : The Butterworth filter is applied to mid-line Bands to reduce noise, allowing for clearer trend detection.
// Calculate constants for the Butterworth filter
float piPrd = math.pi / mid_len
float g = math.sqrt(2)
float a1 = math.exp(-g * piPrd)
float b1 = 2 * a1 * math.cos(g * piPrd)
float coef2 = b1
float coef3 = -a1 * a1
float coef1 = (1 - b1 + a1 * a1) / 4
// Source data for the Butterworth filter
float source = ifish // The first inverse Fisher Oscillator is used as the source
// Previous source and butter filter values
var float butter = na // Initialize the 'butter' variable
// Handle null values using the nz function
float prevB1 = nz(butter , source) // Use 'source' as a fallback if butter is null
float prevB2 = nz(butter , source) // Use 'source' as a fallback if butter is null
// Calculate the Butterworth filter value
butter := coef1 * (source + (2 * source ) + source ) + (coef2 * prevB1) + (coef3 * prevB2)
● Numbered Signal Marks
Signal Markers : The indicator plots numbered signals on the chart when an oscillator crosses above the upper volatility band or below the lower volatility band.
Numbered Lines : Numbers correspond to the different oscillators (1-6), helping traders easily identify which smoothing level generated the signal.
Visual Cues : The signals are color-coded—green for bullish crossovers and red for bearish crossunders—providing clear visual cues for trend accumulation phases.
Mid-Line Option : Traders can choose between plotting the Butterworth filter as a dynamic mid-line or simply displaying it as part of the bands.
Volatility Bands : Dynamic volatility bands provide additional context for interpreting the strength and sustainability of trends.
● Dashboard Display
Real-Time Market Trend Overview : The dashboard in the bottom-right corner of the chart displays the market trend based on the Inverse Fisher Oscillator for six different smoothing levels, providing a clear visual summary of market direction.
Direction Symbols : Directional symbols (up, down, or neutral) are displayed in the dashboard, color-coded to represent bullish, bearish, or neutral momentum.
Current Price Display : The dashboard also shows the current price and highlights whether it is above or below the opening price.
🔵 HOW TO USE
● Identifying Trend Reversals
Bullish Reversals : When the oscillators short period lines start to cross above the upper volatility band (green), it indicates potential bullish momentum.
Bearish Reversals : When the oscillator crosses below the lower volatility band (red), it signals potential bearish momentum.
Neutral Signals : When the oscillator remains within the bands (yellow), it suggests that the market is in a neutral or consolidating state. Traders may choose to wait for a clearer trend signal.
● Using the Dashboard for Trend Overview
Market Trend Summary : The dashboard provides a quick overview of market direction across six different smoothing levels. Green arrows indicate bullish momentum, red arrows indicate bearish momentum, and wavy lines suggest neutrality.
Price Context : The dashboard also displays the current price, helping traders quickly assess whether the price is moving in the expected direction relative to their trend analysis.
● Volatility Band Interpretation
Volatility-Based Signals : Pay attention to how the oscillators interact with the volatility bands. Strong trends will often result in oscillators staying above or below the bands, while weaker trends or consolidations will see oscillators hovering within the bands.
🔵 CUSTOMIZATION
Length and Smoothing : Adjust the length and smoothing parameters to fit different market conditions and timeframes.
Bands Multiplier : Customize the multiplier for the volatility bands to make them more or less sensitive to price changes.
Mid-Line Type : Choose whether to display the Butterworth filter as a mid-line or incorporate it into the volatility bands.
Signal Markers : Toggle on or off the number markers for signal crossovers, making it easier to identify key entry and exit points.
🔵 CONCLUSION
The Inverse Fisher Oscillator combines the power of the Inverse Fisher Transform and the Butterworth filter to provide a sophisticated approach to trend and reversal detection. By leveraging volatility-based analysis and visually intuitive signals, this indicator helps traders spot potential entry and exit points with greater clarity. The customizable dashboard display adds further value, offering a real-time summary of market conditions to enhance decision-making. Use this tool in conjunction with other technical analysis methods to develop a well-rounded trading strategy.
Follow the Volumes / Path of Least ResistanceThis indicator tracks price movements following significant volume increases. It identifies volume spikes by comparing recent average volume to a longer-term average. After a spike, it monitors price changes over a specified number of bars.
In plain English, the point of this is to “let the market show it’s hand”, vs. other common and preemptive methods of execution.
You can think of it as a better version of a volume up/down indicator which only uses opening and closing prices to identify "bullish" or "bearish" behavior.
To optimize this, I used a very small range chart, hence the small values. You will need to experiment with other values, ESPECIALLY the % change. If you do not do this, the indicator will generate a lot of noise.
The indicator has three main conditions:
1. Significant price increase, bullish: A green triangle appears below the bar.
2. Significant price decrease, bearish: A red triangle appears above the bar.
3. Price change within thresholds: A fuschia triangle appears, pointing up or down based on the overall (short-term) trend. This is common behavior during trends. A spike in volume will appear, and price simply does not budge. Volume/price is essentially declaring a new found value, in which case prices tend to follow the impulse movement (see market profile theory).
The color scheme is intuitive: green for positive moves, red for negative, and fuschia for subtle changes following the existing trend. Blue circles mark volume spikes for reference, which I recommend using only for reference, and disabling to remove unneeded noise.
Because this indicator "lags" in the sense of waiting for the market to show its hand, best opportunities are typically found on retests of the volume spikes themselves. On drives, however, the market will unlikely pullback, which (in my view) is one of its best use cases.
Bottom line, you will need to adjust the parameters to the instrument. This is not a plug and play solution, but far more accurate than those which are.
Settings, and what they mean:
Volume spike average bars: length for identification of high volumes. On smaller timeframes, such as my optimization period, you’ll want several bars. But on something such as a 5 minute or higher, only 1.
Lookback period: for identification of high volumes.
Volume Increase Threshold (%): % which constitutes a jump in volume
Bars After Spike: How long to wait for ensuing price movement. Also sensitive to the timeframe you are using. 1-2 recommended for 5m+, more for smaller range-based.
Negative Price Change Threshold (%): For red arrows (Volume + Price Movement)
Positive Price Change Threshold (%): Inverse of above
WMA Period for Stability Function: When price spikes on high volumes but does not move (price is “trapped” between negative and positive price change thresholds) the indicator marks direction (in fuchsia) in the direction of the underlying trend. This short-term MA identifies that trend.
Finally, because this indicator is volume-based, I recommend using primary instruments only and discourage its use on CFDs or other firm-generated instruments. Just use the primary. I would ignore signals off the open, which is subject to erroneous behavior. Other methods are far more effective for that.
This script is purposely uncomplicated. Feel free to play with settings and change code to suit your needs.
Rolling Price Activity Heatmap [AlgoAlpha]📈 Rolling Price Activity Heatmap 🔥
Enhance your trading experience with the Rolling Price Activity Heatmap , designed by AlgoAlpha to provide a dynamic view of price activity over a rolling lookback period. This indicator overlays a heatmap on your chart, highlighting areas of significant price activity, allowing traders to spot key price levels at a glance.
🌟 Key Features
📊 Rolling Heatmap: Visualize historical price activity intensity over a user-defined lookback period.
🔄 Customizable Lookback: Adjust the heatmap lookback period to suit your trading style.
🌫️ Transparency Filter: Fine-tune the heatmap’s transparency to filter out less significant areas.
🎨 Color Customization: Choose colors for up, down, and highlight areas to fit your chart’s theme.
🔄 Inverse Heatmap Option: Flip the heatmap to highlight less active areas if needed.
🛠 Add the Indicator: Add the Indicator to favorites. Customize settings like lookback period, transparency filter, and colors to fit your trading style.
📊 Market Analysis: Watch for areas of high price activity indicated by the heatmap to identify potential support and resistance levels.
🔧 How it Works
This script calculates the highest and lowest prices within a specified lookback period and divides the price range into 15 segments. It counts the number of candles that fall within each segment to determine areas of high and low price activity. The script then plots the heatmap on the chart, using varying levels of transparency to indicate the strength of price activity in each segment, providing a clear visual representation of where significant trading occurs.
Stay ahead of the market with this powerful visualization tool and make informed trading decisions! 📈💼
Pivot Points with MID LevelsThis indicator shows the Standard Pivot Points level based on daily values that can act as support and resistance. It is used by a variety of traders around the world. You can select which time frame Pivot Point Levels you'd like. Daily, weekly etc... Perfect for swing trading or day trading.
Pivot Points- Shows 3 levels of resistance, the Pivot Point and 3 levels of support
(R3, R2, R1, PIVOT POINT, S1, S2, S3
MID Levels- The MID levels are 50% retracement from the pivot point level above it and below
Example- R3, MID, R2, MID, R1, MID, PIVOT POINT, MID, S1, MID, S2, MID, S3
With this indicator you will also have the option to show the Previous days High and Low that are also important levels. On gap up/down days it is always interesting to see if price will close the gap, hence the important level to note.
PDH= Previous Days High
PDL= Previous Days Low
I have added a feature that you can now select specific color to each level and the line style for each level to help understand which levels are being show by personal needs.
Happy Trading
Volume True Range (VTR) and Volume Average True Range (VATR)This indicator uses lower-timeframe cumulative volume delta (CVD) candles to calculate the Volume True Range (VTR) of your instrument. The VTR is calculated similarly to the traditional true range, but uses volume instead (no price is involved in the calculation other than in the lower timeframe bar delta assignments). I haven't seen this concept developed before on TradingView or frankly the Internet, but I thought it seemed fairly intuitive; we can calculate the lower timeframe volume delta candles, so it makes sense to calculate a volume true range, which could show divergences in volume and price.
The VTR is calculated by the following code which uses the lower-timeframe CVD candles:
volumeTR = math.max(cvd_high - cvd_low, math.abs(cvd_high - nz(cvd_close )), math.abs(cvd_low - nz(cvd_close )))
The Volume Average True Range (VATR) is calculated by taking the RMA of the VTR, similarly to the ATR.
I would like to thank TradingView for the calculation of up/down intrabar volumes, which I referenced from their 'CVD - Cumulative Volume Delta Candles' indicator.
How to Use
The VTR and VATR can be used to identify price-volume trends and volatility divergences. A strong VTR (above the VATR of your specified length) can indicate the start or continuation of a trend, which you can identify via the VTR color (determined via price candle colors). Similarly, a rising VATR with most VTR bars of a specific color (green or red) will show that volume is moving in a specific price direction.
Additionally, the VATR plotted next to the ATR of the same length will show you volume volatility divergences. A strong VATR next to a muted/flat ATR indicates strong volume movement, which price might follow in the upcoming bars. Or, for trend reversals, a decreasing ATR after a strong trend combined with a rising VATR of the opposite trend may show a possible reversal.
Hope you all enjoy this.
-wbburgin
* Quick note: lower timeframe analysis returns only so much data. If you are on a high timeframe and the indicator is showing only a limited amount of bars, raise the lower timeframe (but still keep it below your current timeframe) so that the arrays can return more bars for you.